Views এবং ViewGroups হল Android UI (User Interface) এর মূল উপাদান। তারা একসঙ্গে মিলে Android অ্যাপ্লিকেশনের গ্রাফিক্যাল ইউজার ইন্টারফেস তৈরি করে। প্রতিটি UI উপাদান, যেমন Button, TextView, ImageView ইত্যাদি, একটি View হিসাবে কাজ করে, এবং ViewGroup হল একটি লেআউটের মতো, যা একাধিক View এবং অন্যান্য ViewGroup কে ধারণ করে। সহজভাবে বললে, View হল অ্যাপ্লিকেশনের দৃশ্যমান অংশ এবং ViewGroup হল সেই ফ্রেমওয়ার্ক যা Views-কে একত্রে সংগঠিত করে।
Views এবং ViewGroups (TextView, Button, ImageView)
নিচে Views এবং ViewGroups সম্পর্কে বিস্তারিত আলোচনা করা হলো:
১. View
View হল Android এর একটি মৌলিক UI উপাদান, যা স্ক্রিনের সাথে ব্যবহারকারীর ইন্টারঅ্যাকশন করতে দেয়। একটি View UI-এর একটি একক অংশ, যেমন একটি বাটন, একটি টেক্সট বক্স বা একটি ইমেজ।
View এর বৈশিষ্ট্য:
- View হল Android UI ফ্রেমওয়ার্কের বেস ক্লাস।
- প্রতিটি View ব্যবহারকারীর সাথে সরাসরি ইন্টারঅ্যাকশনের জন্য ব্যবহৃত হয়।
- View-এর কিছু সাধারণ উদাহরণ হল: Button, TextView, ImageView, EditText, CheckBox ইত্যাদি।
- View-এর বিভিন্ন অ্যাট্রিবিউট যেমন আকার (width, height), পজিশনিং (margin, padding), ব্যাকগ্রাউন্ড, টেক্সট ইত্যাদি পরিবর্তন করা যায়।
উদাহরণ:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Me" />
এখানে একটি Button View তৈরি করা হয়েছে, যা ব্যবহারকারীর ক্লিক ইভেন্ট গ্রহণ করতে সক্ষম।
২. ViewGroup
ViewGroup হল একটি কন্টেইনার যা একাধিক Views এবং অন্যান্য ViewGroups ধারণ করতে পারে। এটি UI উপাদানগুলোকে সংগঠিত করে এবং স্ক্রিনে তাদের পজিশনিং, আকার এবং লেআউট নিয়ন্ত্রণ করে। ViewGroup একটি Layout এর মতো কাজ করে, যা View-দের একসঙ্গে প্রদর্শন করতে সাহায্য করে।
ViewGroup এর বৈশিষ্ট্য:
- ViewGroup হল View-এর একটি সাবক্লাস, যা একাধিক View-কে ধারণ করতে পারে।
- এটি মূলত Layouts হিসেবে ব্যবহৃত হয়, যা Views এবং অন্যান্য ViewGroup-কে সংগঠিত ও প্রদর্শন করে।
- ViewGroup-এর উদাহরণগুলোর মধ্যে রয়েছে LinearLayout, RelativeLayout, ConstraintLayout, FrameLayout ইত্যাদি।
- ViewGroup এর মাধ্যমে আপনি একাধিক UI উপাদানকে স্ক্রিনে কিভাবে প্রদর্শন করবেন তা নিয়ন্ত্রণ করতে পারেন।
উদাহরণ:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, World!" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Me" />
</LinearLayout>
এখানে LinearLayout একটি ViewGroup হিসেবে কাজ করছে এবং এর মধ্যে TextView এবং Button দুটি Views রয়েছে। ViewGroup UI উপাদানগুলোকে কিভাবে স্ক্রিনে সাজানো হবে তা নির্ধারণ করে।
৩. View এবং ViewGroup এর মধ্যে সম্পর্ক
View হল একক UI উপাদান, যা ব্যবহারকারীর সাথে সরাসরি ইন্টারঅ্যাকশন করতে সক্ষম। প্রতিটি UI উপাদান, যেমন বোতাম বা টেক্সট বক্স, একটি View হিসাবে কাজ করে।
ViewGroup হল একটি কন্টেইনার যা একাধিক View এবং অন্য ViewGroup-কে ধারণ করতে পারে। এটি UI উপাদানগুলিকে গ্রুপ আকারে প্রদর্শনের জন্য ব্যবহৃত হয় এবং UI ডিজাইনকে সংগঠিত করে।
ViewGroup মূলত একটি Layout হিসেবে কাজ করে এবং এটি Views এর পজিশনিং এবং আকার নিয়ন্ত্রণ করে। Android এর মধ্যে বিভিন্ন ধরনের Layout/ViewGroup রয়েছে, যেমন LinearLayout, RelativeLayout, ConstraintLayout ইত্যাদি।
৪. Views এর উদাহরণ
- TextView: এটি স্ক্রিনে লেখা প্রদর্শনের জন্য ব্যবহৃত হয়।
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, World!" />
- Button: এটি ব্যবহারকারীর ক্লিক ইভেন্ট গ্রহণ করে।
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Me" />
- ImageView: এটি স্ক্রিনে ছবি প্রদর্শনের জন্য ব্যবহৃত হয়।
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/sample_image" />
৫. ViewGroup এর উদাহরণ
- LinearLayout: এটি একটি লেআউট, যেখানে UI উপাদানগুলোকে একটির পর একটি সরলরেখায় সাজানো হয়।
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 2" />
</LinearLayout>
- RelativeLayout: এটি একটি লেআউট, যেখানে UI উপাদানগুলো একে অপরের সাথে সম্পর্কিত হয়ে সাজানো হয়।
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1"
android:layout_alignParentTop="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 2"
android:layout_below="@id/textView1" />
</RelativeLayout>
- ConstraintLayout: এটি সবচেয়ে বেশি ব্যবহৃত এবং শক্তিশালী লেআউট, যা UI উপাদানগুলোকে একে অপরের সাথে সম্পর্কিত করে।
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
উপসংহার
View হল Android এর মৌলিক UI উপাদান এবং ViewGroup হল এমন কন্টেইনার, যা একাধিক View বা অন্য ViewGroup ধারণ করতে পারে। Android এর বিভিন্ন Layout (ViewGroup) ব্যবহার করে UI উপাদানগুলোকে সাজানো এবং প্রদর্শন করা যায়। View এবং ViewGroup এর সঠিক ব্যবহার একটি ভালো UI ডিজাইন নিশ্চিত করে এবং ব্যবহারকারীর অভিজ্ঞতাকে উন্নত করে।
Read more